﻿Imports System
Imports System.Runtime.CompilerServices
Imports System.Runtime.InteropServices

Namespace Google.Desktop.Interop
    <ComImport, Guid("08A02699-A4BC-41A0-BFEE-A58395ED22A7"), TypeLibType(CShort(&H10C0))> _
    Public Interface IGoogleDesktopSchemaPropertyFilter
        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H3FF)> _
        Sub AddRequiredText(<[In](), MarshalAs(UnmanagedType.BStr)> ByVal property_name As String, <[In](), MarshalAs(UnmanagedType.BStr)> ByVal required As String)

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H400)> _
        Sub AddExcludedText(<[In](), MarshalAs(UnmanagedType.BStr)> ByVal property_name As String, <[In](), MarshalAs(UnmanagedType.BStr)> ByVal excluded As String)

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H401)> _
        Sub RemoveRequiredText(<[In](), MarshalAs(UnmanagedType.BStr)> ByVal property_name As String, <[In](), MarshalAs(UnmanagedType.BStr)> ByVal required As String)

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H402)> _
        Sub RemoveExcludedText(<[In](), MarshalAs(UnmanagedType.BStr)> ByVal property_name As String, <[In](), MarshalAs(UnmanagedType.BStr)> ByVal excluded As String)

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H403)> _
        Function GetRequiredText(<[In](), MarshalAs(UnmanagedType.BStr)> ByVal property_name As String) As <MarshalAs(UnmanagedType.SafeArray, SafeArraySubType:=VarEnum.VT_VARIANT)> Object()

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H404)> _
        Function GetExcludedText(<[In](), MarshalAs(UnmanagedType.BStr)> ByVal property_name As String) As <MarshalAs(UnmanagedType.SafeArray, SafeArraySubType:=VarEnum.VT_VARIANT)> Object()

        <DispId(&H405)> _
        WriteOnly Property match_whole_word As Boolean
        
    End Interface
End Namespace

